\section{R\'{e}f\'{e}rence du fichier instructions.h}
\label{instructions_8h}\index{instructions.h@{instructions.h}}
Module charg\'{e} de la gestion des instructions du code 3 adresses cible. 

{\tt \#include $<$iostream$>$}\par
{\tt \#include $<$stack$>$}\par
{\tt \#include $<$queue$>$}\par
{\tt \#include \char`\"{}symbols.h\char`\"{}}\par


Graphe des d\'{e}pendances par inclusion de instructions.h:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=198pt]{instructions_8h__incl}
\end{center}
\end{figure}


Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=173pt]{instructions_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{CompactItemize}
\item 
class {\bf CInstruction}
\begin{CompactList}\small\item\em Classe des instructions du code 3 adresses. \item\end{CompactList}\item 
class {\bf CInstr\-Queue}
\begin{CompactList}\small\item\em Classe de la file d'instructions. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef unsigned int {\bf Label\-Id}
\begin{CompactList}\small\item\em Type pour les identifiants des labels. \item\end{CompactList}\end{CompactItemize}
\subsection*{\'{E}num\'{e}rations}
\begin{CompactItemize}
\item 
enum {\bf Instr\-Op} \{ \par
{\bf INSTR\_\-AFF}, 
{\bf INSTR\_\-AFFB}, 
{\bf INSTR\_\-AFFI}, 
{\bf INSTR\_\-AFFF}, 
\par
{\bf INSTR\_\-REFAFF}, 
{\bf INSTR\_\-REF}, 
{\bf INSTR\_\-DEREF}, 
{\bf INSTR\_\-ADD}, 
\par
{\bf INSTR\_\-SUB}, 
{\bf INSTR\_\-MUL}, 
{\bf INSTR\_\-DIV}, 
{\bf INSTR\_\-OR}, 
\par
{\bf INSTR\_\-AND}, 
{\bf INSTR\_\-EQL}, 
{\bf INSTR\_\-GRT}, 
{\bf INSTR\_\-LOW}, 
\par
{\bf INSTR\_\-NEQ}, 
{\bf INSTR\_\-NOT}, 
{\bf INSTR\_\-CAST}, 
{\bf INSTR\_\-LABEL}, 
\par
{\bf INSTR\_\-GOTO}, 
{\bf INSTR\_\-IF}, 
{\bf INSTR\_\-IFNOT}
 \}
\begin{CompactList}\small\item\em Op\'{e}rateurs du code 3 adresses. \item\end{CompactList}\end{CompactItemize}


\subsection{Description d\'{e}taill\'{e}e}
Module charg\'{e} de la gestion des instructions du code 3 adresses cible. 

Il d\'{e}finit les classes {\bf CInstruction}{\rm (p.\,\pageref{classCInstruction})} (instruction) et {\bf CInstr\-Queue}{\rm (p.\,\pageref{classCInstrQueue})} (file d'instructions). 

D\'{e}finition dans le fichier {\bf instructions.h}.

\subsection{Documentation des typedef}
\index{instructions.h@{instructions.h}!LabelId@{LabelId}}
\index{LabelId@{LabelId}!instructions.h@{instructions.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf Label\-Id}}\label{instructions_8h_d049034268df941d14d76de6a4bb36a1}


Type pour les identifiants des labels. 



D\'{e}finition \`{a} la ligne 20 du fichier instructions.h.

\subsection{Documentation du type de l'\'{e}num\'{e}ration}
\index{instructions.h@{instructions.h}!InstrOp@{InstrOp}}
\index{InstrOp@{InstrOp}!instructions.h@{instructions.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Instr\-Op}}\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc}


Op\'{e}rateurs du code 3 adresses. 

\begin{Desc}
\item[Valeurs \'{e}num\'{e}r\'{e}es: ]\par
\begin{description}
\index{INSTR_AFF@{INSTR\_\-AFF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_AFF@{INSTR\_\-AFF}}\item[{\em 
INSTR\_\-AFF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcf61f5ec2731007215a16840dcdb474f3}
}]Affectations. \index{INSTR_AFFB@{INSTR\_\-AFFB}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_AFFB@{INSTR\_\-AFFB}}\item[{\em 
INSTR\_\-AFFB\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc74e362a9e8aa65b8fba7b2af5c71044d}
}]\index{INSTR_AFFI@{INSTR\_\-AFFI}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_AFFI@{INSTR\_\-AFFI}}\item[{\em 
INSTR\_\-AFFI\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc7902cfb76688c48feecb57ffb2ee4b3b}
}]\index{INSTR_AFFF@{INSTR\_\-AFFF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_AFFF@{INSTR\_\-AFFF}}\item[{\em 
INSTR\_\-AFFF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc094f2a71fa5380bf8d7626c98231d56e}
}]\index{INSTR_REFAFF@{INSTR\_\-REFAFF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_REFAFF@{INSTR\_\-REFAFF}}\item[{\em 
INSTR\_\-REFAFF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc28e711d17b013386a5b0a6b45946d538}
}]\index{INSTR_REF@{INSTR\_\-REF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_REF@{INSTR\_\-REF}}\item[{\em 
INSTR\_\-REF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcb2c68e44b22ff22cdc44526fc80039a3}
}]R\'{e}f\'{e}rencement. \index{INSTR_DEREF@{INSTR\_\-DEREF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_DEREF@{INSTR\_\-DEREF}}\item[{\em 
INSTR\_\-DEREF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc9bdd52f0a102141bcbdbecc88d4dc691}
}]D\'{e}r\'{e}f\'{e}rencement. \index{INSTR_ADD@{INSTR\_\-ADD}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_ADD@{INSTR\_\-ADD}}\item[{\em 
INSTR\_\-ADD\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcd921138b550d6fca1d77e1f341c7d313}
}]Op\'{e}rations arithm\'{e}tiques \index{INSTR_SUB@{INSTR\_\-SUB}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_SUB@{INSTR\_\-SUB}}\item[{\em 
INSTR\_\-SUB\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bce99fc746ec0734e5e40d4d1d80fbb133}
}]\index{INSTR_MUL@{INSTR\_\-MUL}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_MUL@{INSTR\_\-MUL}}\item[{\em 
INSTR\_\-MUL\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bca8b735281f891263203ea0f7eb8901c8}
}]\index{INSTR_DIV@{INSTR\_\-DIV}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_DIV@{INSTR\_\-DIV}}\item[{\em 
INSTR\_\-DIV\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc299cbd25f4c99c7758b274a28d43bfb6}
}]\index{INSTR_OR@{INSTR\_\-OR}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_OR@{INSTR\_\-OR}}\item[{\em 
INSTR\_\-OR\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bce3a3aca5a4e3cf3926e5871f3164e91a}
}]\index{INSTR_AND@{INSTR\_\-AND}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_AND@{INSTR\_\-AND}}\item[{\em 
INSTR\_\-AND\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc8f1fd9bd63cfb8b4491fbbe598551dda}
}]\index{INSTR_EQL@{INSTR\_\-EQL}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_EQL@{INSTR\_\-EQL}}\item[{\em 
INSTR\_\-EQL\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc2a722a6f069d11736170c16438367a54}
}]\index{INSTR_GRT@{INSTR\_\-GRT}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_GRT@{INSTR\_\-GRT}}\item[{\em 
INSTR\_\-GRT\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc912a120cfb2bf876a5a4f31812c21bae}
}]\index{INSTR_LOW@{INSTR\_\-LOW}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_LOW@{INSTR\_\-LOW}}\item[{\em 
INSTR\_\-LOW\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcfe2820fb45738a353236cbe560aae8eb}
}]\index{INSTR_NEQ@{INSTR\_\-NEQ}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_NEQ@{INSTR\_\-NEQ}}\item[{\em 
INSTR\_\-NEQ\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcc54e7934fe739f57b8a6888dfabd1965}
}]\index{INSTR_NOT@{INSTR\_\-NOT}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_NOT@{INSTR\_\-NOT}}\item[{\em 
INSTR\_\-NOT\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bce71dcd0a9f91476c4c034b347bf278d8}
}]\index{INSTR_CAST@{INSTR\_\-CAST}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_CAST@{INSTR\_\-CAST}}\item[{\em 
INSTR\_\-CAST\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcca7797102190dd84ac930584ef27f6fe}
}]Conversion de type. \index{INSTR_LABEL@{INSTR\_\-LABEL}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_LABEL@{INSTR\_\-LABEL}}\item[{\em 
INSTR\_\-LABEL\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc62553e04f34425f88f914d0d7f594df5}
}]Op\'{e}rateurs de branchements \index{INSTR_GOTO@{INSTR\_\-GOTO}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_GOTO@{INSTR\_\-GOTO}}\item[{\em 
INSTR\_\-GOTO\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bcc249656f2bf66b2fdbd645e1cd8f2e05}
}]\index{INSTR_IF@{INSTR\_\-IF}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_IF@{INSTR\_\-IF}}\item[{\em 
INSTR\_\-IF\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc0cd4033b12ef4ba03a1cc2e115cdebf4}
}]\index{INSTR_IFNOT@{INSTR\_\-IFNOT}!instructions.h@{instructions.h}}\index{instructions.h@{instructions.h}!INSTR_IFNOT@{INSTR\_\-IFNOT}}\item[{\em 
INSTR\_\-IFNOT\label{instructions_8h_13fe231c31026eb9a6c9170f66def0bc3867a95f86fc5d498daed278c419c259}
}]\end{description}
\end{Desc}



D\'{e}finition \`{a} la ligne 23 du fichier instructions.h.